www.gusucode.com > matlab最优化程序源码---书籍 > matlab最优化程序/光盘程序/第7章 无约束多维极值问题/minNT.m

    function [x,minf] = minNT(f,x0,var,eps)
format long;
if nargin == 3
    eps = 1.0e-6;
end
tol = 1;
x0 = transpose(x0);
gradf = jacobian(f,var);
jacf = jacobian(gradf,var);

while tol>eps
    v  = Funval(gradf,var,x0);
    tol = norm(v);
    pv = Funval(jacf,var,x0);
    p = -inv(pv)*transpose(v);
    p = double(p);
    x1 = x0 + p;
    x0 = x1;
end

x = x1;
minf = Funval(f,var,x);
format short;